Processing systems often utilize multiple address spaces (also known as partitions) to separate processes for operational or security reasons. To illustrate, an operating system (OS) can utilize distinct address spaces for different applications being executed, or a hypervisor (HV) can implement separate partitions so as to separate different operating systems. In many implementations, it may be desirable to transfer data between these address spaces. Examples include message-passing between applications or between operating systems and configuring input/output operations with memory-mapped peripheral components. Current systems transfer data between address spaces based on a complete rewriting of the address space configuration operated by the memory management unit (MMU). This rewriting typically entails a multiple-step approach whereby the OS or HV changes the address space context of the MMU multiple times in order to enact a data transfer between different address spaces. To illustrate, in order to transfer data between a first address space and a second address space, current systems utilize the OS or the HV to manipulate the MMU to have access to the requestor's address space and then copies data from the requestor into the OS's/HV's own address space using standard load operations. The OS or the HV then manipulates the MMU to have access to the destination's address space and again uses standard store operations to the destination. This multiple-context change and series of intermediary data transfers to enact a data transfer between different address spaces inhibits the performance of the processing system. Accordingly, an improved technique for transferring data between different address spaces would be advantageous.